package com.wlw.admin.openeye.base

import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentPagerAdapter

/**
 * 该类内的每一个生成的 Fragment 都将保存在内存之中，
 * 因此适用于那些相对静态的页，数量也比较少的那种；
 * 如果需要处理有很多页，并且数据动态性较大、占用内存较多的情况，
 * 应该使用FragmentStatePagerAdapter。
 */
class BaseFragmentAdapter(fragments: List<Fragment>, titles: List<String>, fragmentManager: FragmentManager) : FragmentPagerAdapter(fragmentManager) {
    private var fragments: List<Fragment>? = null
    private var titles: List<String>? = null

    init {
        this.fragments = fragments
        this.titles = titles
    }

    override fun getItem(p0: Int): Fragment = fragments?.get(p0)!!

    override fun getCount(): Int = fragments?.size ?: 0

    override fun getPageTitle(position: Int): CharSequence? {
        return titles?.get(position)
    }
}